i Bug 560228 – Add "action-controller" property to GtkWidgetClass
authorMatthias Clasen <matthiasc@src.gnome.org>
Fri, 23 Jan 2009 15:15:28 +0000 (15:15 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 23 Jan 2009 15:15:28 +0000 (15:15 +0000)
commitbb72b647f6a40831a46fb731a5929831d95c2b29
tree5bd4a577f50fe360a0cd9a06ada7adc65c3c5508
parentacd40c45f781a84c297be34d5d18f7681e78d46e
i        Bug 560228 – Add "action-controller" property to GtkWidgetClass

        Rework the way actions and proxies interact, to make the
        interaction less ad hoc, more extensible, and better suited
        for support in GUI builders like glade.

        To be used as a proxy, a widget must now implement the
        GtkActivatable interface, and GtkActivatable implementations
        are responsible for syncing their appearance with the action
        and for activating the action.

        All the widgets that are commonly used as proxies implement
        GtkActivatable now.

        Patch by Tristan van Berkom.

        * gtk/gtkactivatable.[hc]: The GtkActivatable interface.

        * gtk/gtkbutton.c:
        * gtk/gtktogglebutton.c:
        * gtk/gtktoolitem.c:
        * gtk/gtktoolbutton.c:
        * gtk/gtktoggletoolbutton.c:
        * gtk/gtkmenuitem.c:
        * gtk/gtkcheckmenuitem.c:
        * gtk/gtkimagemenuitem.c:
        * gtk/gtkradiomenuitem.c:
        * gtk/gtkrecentchooserprivate.h:
        * gtk/gtkrecentchooser.c:
        * gtk/gtkrecentchooserdefault.c:
        * gtk/gtkrecentchoosermenu.c: Implement GtkActivatable.
        * gtk/gtkaction.[hc]: Move appearance synchronization to
        GtkActivatable implementations.

        * gtk/gtkradioaction.c:
        * gtk/gtkrecentaction.c:
        * gtk/gtktoggleaction.c:
        * gtk/gtkactiongroup.c: Adapt.

        * gtk/gtk.h: Include gtkactivatable.h
        * gtk/gtk.symbols: Add new functions

svn path=/trunk/; revision=22195
29 files changed:
ChangeLog
docs/reference/ChangeLog
docs/reference/gtk/gtk-docs.sgml
docs/reference/gtk/gtk-sections.txt
docs/reference/gtk/gtk.types
gtk/Makefile.am
gtk/gtk.h
gtk/gtk.symbols
gtk/gtkaction.c
gtk/gtkaction.h
gtk/gtkactiongroup.c
gtk/gtkactivatable.c [new file with mode: 0644]
gtk/gtkactivatable.h [new file with mode: 0644]
gtk/gtkbutton.c
gtk/gtkcheckmenuitem.c
gtk/gtkimagemenuitem.c
gtk/gtkmenuitem.c
gtk/gtkradioaction.c
gtk/gtkradiomenuitem.c
gtk/gtkrecentaction.c
gtk/gtkrecentchooser.c
gtk/gtkrecentchooserdefault.c
gtk/gtkrecentchoosermenu.c
gtk/gtkrecentchooserprivate.h
gtk/gtktoggleaction.c
gtk/gtktogglebutton.c
gtk/gtktoggletoolbutton.c
gtk/gtktoolbutton.c
gtk/gtktoolitem.c